#ifndef PERSON_H_
#define PERSON_H_

#include "oo.h"

DECLARE_CLASS(Person)

BEGIN_VTABLE(Person)
    VFUNC(Person, void, speak)
    VFUNC(Person, char*, to_string)
END_VTABLE(Person)

BEGIN_CLASS(Person)
    char* name;
    int age;
END_CLASS

// 构造函数声明
Person* new_Person();
void Person_destroy(Person* self);

// 具体方法声明
void Person_speak(Person* self);
char* Person_to_string(Person* self);
void Person_set_name(Person* self, const char* name);
void Person_set_age(Person* self, int age);

#endif // PERSON_H_